package cn.gok;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

/**
 @Controller : 添加在类上，将当前类标记为一个控制器类，
               也是一个bean对象的注解，Spring会自动将添加了该注解的类纳入Spring管理

 @RequestMapping ：  可以添加在方法，也可以添加在类上，
                     用来指定请求地址与处理方法的映射关系。

                     如果放在类上，表示当前类的请求地址，都会带上相关前缀。
                     放在方法上，表示请求地址与处理方法的映射关系。

         @RequestMapping 常见的属性：
                    value：  请求地址， 只有该属性的时候，不需要写属性名
                    method: 指定请求方法，post、get、put、delete等等
                            值为RequestMethod.POST、RequestMethod.GET等
                    params: 用来指定请求包含某个参数名的时候才能进行处理

        简化写法：     @PostMapping("请求地址")
                     @GetMapping("请求地址")
                     @PutMapping("请求地址")
                     @DeleteMapping("请求地址")
 */
@Controller
@RequestMapping("/user")
public class UserController {

//    @RequestMapping(value = "/login", method = RequestMethod.POST,params ="token")

    @PostMapping("/login")
    public ModelAndView login(String userName, String password, HttpServletRequest request){
        ModelAndView modelAndView = new ModelAndView();

        if("zhangsan".equals(userName) && "123456".equals(password)){
            modelAndView.addObject("userName","张三");
            modelAndView.setViewName("main");
        }else {
            modelAndView.addObject("errorMsg","登录失败");
            modelAndView.setViewName("fail");
        }

        return modelAndView;

    }
}
